home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / kowin / archive / sys / kowin14d.lzh / doc / library / func.doc < prev    next >
Text File  |  1991-05-15  |  31KB  |  788 lines

  1.  
  2.  
  3.         ウインドウシステム関数仕様      version 2.23
  4.  
  5.         Copyright       T.Kobayashi
  6.                         1991.5.3
  7.  
  8.  
  9.  
  10. 1  ウインドウサーバへの要求関数
  11.  
  12.  各アプリケーションプログラムからウインドウサーバへ要求する関数を示します。
  13. これらの関数は "wlib.h" に宣言されています。これらの関数はユーザモードで呼び
  14. 出さなければなりません。(スーパーバイザモード不可)
  15.  
  16.  
  17. 1.1 ウインドウ環境設定
  18.  
  19. void    WindowConnectionClose()
  20. ----------------------------------------------------------------------------
  21.  ウインドウライブラリの使用終了を宣言します。
  22.  この関数が呼ばれる前にオープンしたウインドウをはすべてクローズしていなけれ
  23. ばなりません。
  24. ----------------------------------------------------------------------------
  25.  
  26.  
  27. void    WindowSetRootEvent( exec )
  28. ----------------------------------------------------------------------------
  29. int     (*exec)();      イベント処理ルーチン
  30.  
  31.  ルートウインドウのイベント処理ルーチンを設定します。
  32.  ルートウインドウで発生する可能性のあるイベントは次の4つです。
  33.         EventRedraw, EventMouseSwitch, EventMouseMove, EventKey
  34.  イベント処理ルーチンで TRUE を返すとイベントを受け取ったことになるのでウイ
  35. ンドウサーバ内のデフォルトのイベント処理ルーチンは呼び出されません。FALSE を
  36. 返すと引き続いてデフォルトのイベント処理ルーチンを呼び出します。
  37. ----------------------------------------------------------------------------
  38.  
  39.  
  40. void    WindowSetBackPattern( sp )
  41. ----------------------------------------------------------------------------
  42. Sheet   *sp ;       ルートウインドウのバックパターン
  43.  
  44.  ルートウインドウのバックパターンを設定します。
  45. ----------------------------------------------------------------------------
  46.  
  47.  
  48. void    WindowMouseCursor( sw )
  49. ----------------------------------------------------------------------------
  50. int     sw ;        マウスカーソルのスイッチ
  51.  
  52.  マウスカーソルの表示、非表示を切り替えます。 sw が ON の時は表示、OFF の時
  53. は非表示です。マウスが非表示の時はマウス関係のイベントは発生しません。
  54. ----------------------------------------------------------------------------
  55.  
  56.  
  57. void    *WindowGetCommon( name, len )
  58. ----------------------------------------------------------------------------
  59. char    *name ;     共有領域名
  60. int     len ;       共有領域の大きさ
  61.  
  62.  name で与えられた共有領域へのポインタを得ます。
  63.  共有領域が設定されていなかった時は、新たに領域を確保してそのポインタを返し
  64. ます。そのとき確保する領域の大きさは len  で指定します。
  65.  len が 0  の時は既に設定されていた共有領域を検索するだけで、新たに確保しま
  66. せん。そのとき、共有領域が設定されていなければ NULL を返します。
  67. ----------------------------------------------------------------------------
  68.  
  69.  
  70. int     WindowResetCommon( name )
  71. ----------------------------------------------------------------------------
  72. char    *name ;     共有領域名
  73.  
  74.  ポインタを name で与えられた共有領域を開放します。
  75.  開放できた時は TRUE、できなかった時は FALSE を返します。
  76. ----------------------------------------------------------------------------
  77.  
  78.  
  79. void    WindowReadRC()
  80. ----------------------------------------------------------------------------
  81.  ウインドウサーバの設定ファイル WSRV.RC を再読み込みします。
  82.  この関数は共有領域の設定を変更するだけです。各アプリケーションの設定は再起
  83. 動しなければ変化しません。また、ウインドウサーバ自体の設定も変化しません。
  84. ----------------------------------------------------------------------------
  85.  
  86. void    WindowReadResource()
  87. ----------------------------------------------------------------------------
  88.  リソースファイル( WSRV.RS )を再読み込みします。
  89.  ウインドウサーバが使用しているリソース( CloseButton, UpArrow etc )も変化し
  90. ますが、既に表示されているものは再表示しなければなりません。
  91. ----------------------------------------------------------------------------
  92.  
  93. void    *WindowGetResource( rname, name, appname )
  94. ----------------------------------------------------------------------------
  95. char    *rtype ;        リソースの種類( Pattern, String )
  96. char    *name ;         リソース名
  97. char    *appname ;      アプリケーション識別子
  98.  
  99.  リソースの実体を確保します。
  100.  rtype は現在のところ "Pattern", "String" の2つのどちらかです。
  101.  name  はリソースの識別子でリソースファイル中に記述した名前です。
  102.  appname は同じくアプリケーション識別子です。リソースファイルではアプリケー
  103. ション識別子は省略できましたが、ここではできません。ウインドウサーバはまず、
  104. rtype, name, appname  のすべてが一致するリソースを検索し、なければ appname
  105. が省略されているリソースから rtype, name が一致するものを探します。
  106. ----------------------------------------------------------------------------
  107.  
  108.  
  109. void    *WindowMemoryAlloc( size )
  110. ----------------------------------------------------------------------------
  111. int     size ;          確保するメモリサイズ
  112.  
  113.  ウインドウサーバのヒープからメモリを確保します。
  114. ----------------------------------------------------------------------------
  115.  
  116. void    WindowMemoryFree( ptr )
  117. ----------------------------------------------------------------------------
  118. void    *ptr ;
  119.  
  120.  WindowMemoryAlloc 関数で確保した領域を開放します。
  121. ----------------------------------------------------------------------------
  122.  
  123.  
  124.  
  125. 1.2 ウインドウのオープン
  126.  
  127. WindowID    WindowOpen( x, y, h, v, parent, event )
  128. ----------------------------------------------------------------------------
  129. int         x, y ;          ウインドウの位置
  130. int         h, v ;          ウインドウの大きさ
  131. WindowID    parent ;        親ウインドウID
  132. int         (*event)();     イベント処理関数
  133.  
  134.  ウインドウをオープンします。通常は画面表示は行われません。画面に表示したい
  135. 時は WindowRedraw 関数を呼びます。
  136.   parent が NULL の場合はルートウインドウです。
  137.   イベント処理関数の書式は後述。
  138.  オープンしたウインドウのIDを返します。
  139. ---------------------------------------------------------------------------
  140.  
  141.  
  142. WindowID    WindowSimpleOpen( x, y, h, v, parent, event )
  143. ----------------------------------------------------------------------------
  144. int         x, y ;          ウインドウの位置
  145. int         h, v ;          ウインドウの大きさ
  146. WindowID    parent ;        親ウインドウID
  147. int         (*event)();     イベント処理関数
  148.  
  149.  枠線と影のついたウインドウをオープンします。
  150.  オープンしたウインドウのIDを返します。
  151. ---------------------------------------------------------------------------
  152.  
  153.  
  154. WindowID     WindowTitleOpen( x, y, h, v, parent, label, option, event )
  155. ----------------------------------------------------------------------------
  156. int         x, y ;          ウインドウの位置
  157. int         h, v ;          ウインドウの大きさ
  158. WindowID    parent ;        親ウインドウID
  159. char        *label ;        ウインドウ名
  160. int         option ;        ボックスの種類
  161. int         (*event)();     イベント処理関数
  162.  
  163.  タイトルバーのついたウインドウをオープンします。
  164.  option  はこのウインドウに表示するボックスの種類を指定します。ボックスには
  165. Close, Push, Icon, Resize, Zoom があります。複数のボックスを表示するときは和
  166. をとります。
  167.  オープンしたウインドウのIDを返します。
  168. ----------------------------------------------------------------------------
  169.  
  170.  
  171. WindowID     WindowScrollOpen( x, y, h, v, parent, maxh, maxv, dir,
  172.                                                    xstep, ystep, event )
  173. ----------------------------------------------------------------------------
  174.  
  175. int         x, y ;          ウインドウの位置
  176. int         h, v ;          ウインドウの大きさ
  177. WindowID    parent ;        親ウインドウID
  178. int         maxh, maxv ;    スクロールの最大値
  179. int         dir ;           スクロール方向
  180. int         xstep, ystep ;  スクロールのステップ
  181. int         (*event)();     イベント処理関数
  182.  
  183.  スクロールバーのついたウインドウをオープンします。
  184.  maxh, maxv は h, v より大きくなければなりません。
  185.  dir はスクロールできる方向を DirectionX または DirectionY で設定します。両
  186. 方向にスクロールするときはORをとります。
  187.  xstep, ystep はスクロールボタンを押したときのスクロール幅を指定します。
  188. xstep は 16 の倍数でなければなりません。
  189.  オープンしたウインドウのIDを返します。
  190. ----------------------------------------------------------------------------
  191.  
  192.  
  193.  
  194. 1.3 ウインドウの制御
  195.  
  196. void    WindowClose( wp )
  197. ----------------------------------------------------------------------------
  198. WindowID    wp ;        ウインドウID
  199.  
  200.  ウインドウをクローズします。
  201. ----------------------------------------------------------------------------
  202.  
  203.  
  204. void    WindowPop( wp )
  205. ----------------------------------------------------------------------------
  206. WindowID    wp ;        ウインドウID
  207.  
  208.  ウインドウを最も手前に持ってきます。
  209. ----------------------------------------------------------------------------
  210.  
  211.  
  212. void    WindowPush( wp )
  213. ----------------------------------------------------------------------------
  214. WindowID    wp ;        ウインドウID
  215.  
  216.  ウインドウを最も奥に持っていきます。
  217. ----------------------------------------------------------------------------
  218.  
  219.  
  220. void    WindowRedraw( wp )
  221. ----------------------------------------------------------------------------
  222. WindowID    wp ;        ウインドウID
  223.  
  224.  ウインドウを再表示します。
  225.  実際の処理としては、ウインドウに RedrawEvent を送ります。
  226. ----------------------------------------------------------------------------
  227.  
  228.  
  229. void    WindowMove( wp, x, y )
  230. ----------------------------------------------------------------------------
  231. WindowID    wp ;        ウインドウID
  232. int         x, y ;      ウインドウの位置
  233.  
  234.  ウインドウの左上が ( x, y ) の位置になるように移動します。
  235. ----------------------------------------------------------------------------
  236.  
  237.  
  238. void    WindowResize( wp, x, y, h, v )
  239. ----------------------------------------------------------------------------
  240. WindowID    wp ;        ウインドウID
  241. int         x, y ;      ウインドウの位置
  242. int         h, v ;      ウインドウの大きさ
  243.  
  244.  ウインドウの位置と大きさを変更します。
  245. ----------------------------------------------------------------------------
  246.  
  247.  
  248. void    WindowScroll( wp, dx, dy )
  249. ----------------------------------------------------------------------------
  250. WindowID    wp ;        ウインドウID
  251. int         dx, dy ;    スクロール量
  252.  
  253.  ウインドウのビューポート内をスクロールします。ホーム位置(後述)も変更され
  254. ます。
  255.   dx, dy のどちらかは 0 でなければなりません。
  256. ----------------------------------------------------------------------------
  257.  
  258.  
  259. void    WindowDraw( WindowID, void*, int )
  260. ----------------------------------------------------------------------------
  261. WindowID    wp ;        ウインドウID
  262. DrawBuf     *buf ;      描画バッファ(後述)
  263. int         n ;         描画バッファの大きさ
  264.  
  265.  ウインドウに線、文字、その他を描きます。描く対象は描画バッファに設定されて
  266. いなければなりません。描画バッファの設定は後述の描画バッファ設定関数を使用し
  267. ます。座標原点はビューポートの左上位置になり、ホーム位置が変更されている場合
  268. はその影響を受けます。
  269. ----------------------------------------------------------------------------
  270.  
  271.  
  272. void    WindowDrawAbs( wp, buf, n )
  273. ----------------------------------------------------------------------------
  274. WindowID    wp ;        ウインドウID
  275. DrawBuf     *buf ;      描画バッファ(後述)
  276. int         n ;         描画バッファの大きさ
  277.  
  278.  ウインドウに線、文字、その他を描きます。ビューポートと子ウインドウ、ホーム
  279. 位置は無視されます。座標原点はウインドウ左上位置になります。
  280. ----------------------------------------------------------------------------
  281.  
  282.  
  283. void    WindowMoveOperation( wp, info )
  284. ----------------------------------------------------------------------------
  285. WindowID    wp ;        ウインドウID
  286. EventInfo   *info ;     イベント情報(後述)
  287.  
  288.  マウスのボタンを押した状態で呼び出し、ボタンが離された位置にウインドウを移
  289. 動させます。
  290. ----------------------------------------------------------------------------
  291.  
  292.  
  293. void    WindowResizeOperation( wp, info )
  294. ----------------------------------------------------------------------------
  295. WindowID    wp ;        ウインドウID
  296. EventInfo   *info ;     イベント情報(後述)
  297.  
  298.  マウスのボタンを押した状態で呼び出し、ボタンが離された位置がウインドウの端
  299. 点となるようにウインドウの大きさを変えます。
  300. ----------------------------------------------------------------------------
  301.  
  302.  
  303. int     WindowSendEvent( wp, info )
  304. ----------------------------------------------------------------------------
  305. WindowID    wp ;        ウインドウID
  306. EventInfo   *info ;     イベント情報
  307.  
  308.  特定のウインドウにイベント情報を送ります。
  309. ----------------------------------------------------------------------------
  310.  
  311.  
  312.  
  313. 1.4 ウインドウの設定
  314.  
  315. void    WindowSetClientData( wp, data, pointer )
  316. ----------------------------------------------------------------------------
  317. WindowID    wp ;        ウインドウID
  318. int         data ;      クライアントデータ
  319. void        *pointer ;  クライアントデータへのポインタ
  320.  
  321.  クライアントデータを設定します。複数のウインドウをイベント処理関数で区別し
  322. たい時やウインドウごとににデータを持たせたい時に設定します。
  323.  クライアントデータが1つの場合は data に設定し、複数個の場合は適当な構造体
  324. へのポインタとして pointer に設定します。
  325. ----------------------------------------------------------------------------
  326.  
  327.  
  328. void    WindowSetAttr( wp, attr )
  329. ----------------------------------------------------------------------------
  330. WindowID    wp ;        ウインドウID
  331. int         attr ;      属性
  332.  
  333.  ウインドウの属性を設定します。
  334.  属性は WindowAttrTra, WindowAttrInvisible, WindowAttrGraphic16,
  335. WindowAttrGraphic256, WindowAttrGraphic65536
  336. を選択します。(複数指定可)
  337.  WindowAttrTra は透明ウインドウの属性です。透明ウインドウにするとこのウイン
  338. ドウより奥のウインドウが重ねて表示されます。また、ウインドウの表示が高速化さ
  339. れます。重なることがないような子ウインドウに対して設定します。
  340.  WindowAttrInvisible は不可視属性です。
  341.  WindowAttrGraphic??? はグラフィック使用属性です。グラフィックを使用するウイ
  342. ンドウはこれを指定してください。16, 256, 65536 はそれぞれ画面モードです。
  343.  SimpleWindow, TitleWindow ではデフォルトは0で、それ以外は WindowAttrTra
  344. です。
  345. ----------------------------------------------------------------------------
  346.  
  347.  
  348. void    WindowSetEventAttr( wp, attr )
  349. ----------------------------------------------------------------------------
  350. WindowID    wp ;        ウインドウID
  351. int         attr ;      イベント属性
  352.  
  353.  イベント属性を設定します。イベント属性にはイベント処理ルーチンが呼び出され
  354. るべきイベントの種類を設定します。次の中から選んで設定します。(複数指定可)
  355.     EventOpenON, EventRedrawON, EventCloseON, EventPopON,
  356.     EventPushON, EventMoveON, EventResizeON, EventIconifyON,
  357.     EventZoomON, EventScrollON, EventMouseSwitchON,
  358.     EventMouseMoveON, EventMouseEnterON, EventMouseOutON,
  359.     EventKeyON, EventIntervalON, EventUserON, EventGraphicON
  360.  デフォルトは EventAttrDefault で WLIB.H に定義されています。
  361. ---------------------------------------------------------------------------
  362.  
  363.  
  364. void    WindowSetHome( wp, x, y )
  365. ----------------------------------------------------------------------------
  366. WindowID    wp ;        ウインドウID
  367. int         x, y ;      ホーム位置
  368.  
  369.  ウインドウのホーム位置を設定します。ホーム位置とはビューポートの左上に対応
  370. する仮想座標です。ホーム位置を変更することで WindowDraw 関数の表示位置と移動
  371. させることができます。
  372. ----------------------------------------------------------------------------
  373.  
  374.  
  375.  
  376. 1.5 ウインドウ情報の取得
  377.  
  378. int     WindowGetEventAttr( wp )
  379. ----------------------------------------------------------------------------
  380. WindowID    wp ;        ウインドウID
  381.  
  382.  イベント属性を得ます。
  383. ----------------------------------------------------------------------------
  384.  
  385.  
  386. int     WindowGetClientData( wp )
  387. ----------------------------------------------------------------------------
  388. WindowID    wp ;        ウインドウID
  389.  
  390.  クライアントデータを得ます。
  391. ----------------------------------------------------------------------------
  392.  
  393.  
  394. void    *WindowGetClientPointer( wp )
  395. ----------------------------------------------------------------------------
  396. WindowID    wp ;        ウインドウID
  397.  
  398.  クライアントデータへのポインタを得ます。
  399. ----------------------------------------------------------------------------
  400.  
  401.  
  402. void    WindowGetPosition( wp, xp, yp )
  403. ----------------------------------------------------------------------------
  404. WindowID    wp ;        ウインドウID
  405. int         *xp, *yp ;  格納バッファ
  406.  
  407.  ウインドウの左上座標を xp, yp で示されるアドレスに格納します。
  408. ----------------------------------------------------------------------------
  409.  
  410.  
  411. void    WindowGetSize( wp, hp, vp )
  412. ----------------------------------------------------------------------------
  413. WindowID    wp ;        ウインドウID
  414. int         *hp, *vp ;  格納バッファ
  415.  
  416.  ウインドウの大きさを hp, vp で示されるアドレスに格納します。
  417. ----------------------------------------------------------------------------
  418.  
  419.  
  420. void    WindowGetViewPosition( wp, xp, yp )
  421. ----------------------------------------------------------------------------
  422. WindowID    wp ;        ウインドウID
  423. int         *xp, *yp ;  格納バッファ
  424.  
  425.  ウインドウのビューポートの左上座標を xp, yp で示されるアドレスに格納します。
  426. この座標はウインドウの左上を原点とした座標です。
  427. ----------------------------------------------------------------------------
  428.  
  429.  
  430. void    WindowGetViewSize( wp, hp, vp )
  431. ----------------------------------------------------------------------------
  432. WindowID    wp ;        ウインドウID
  433. int         *hp, *vp ;  格納バッファ
  434.  
  435.  ウインドウのビューポートの大きさを hp, vp で示されるアドレスに格納します。
  436. ----------------------------------------------------------------------------
  437.  
  438.  
  439. void    WindowGetScreenPosition( wp, xp, yp )
  440. ----------------------------------------------------------------------------
  441. WindowID    wp ;        ウインドウID
  442. int         *xp, *yp ;  格納バッファ
  443.  
  444.  ウインドウのビューポート左上の点のスクリーン座標を xp, yp で示されるアドレ
  445. スに格納します。
  446. ----------------------------------------------------------------------------
  447.  
  448.  
  449. void    WindowGetHome( wp, xp, yp )
  450. ----------------------------------------------------------------------------
  451. WindowID    wp ;        ウインドウID
  452. int         *xp, *yp ;  格納バッファ
  453.  
  454.  ウインドウのホーム位置を xp, yp で示されるアドレスに格納します。
  455. ----------------------------------------------------------------------------
  456.  
  457.  
  458. int     WindowInner( wp, x, y )
  459. ----------------------------------------------------------------------------
  460. WindowID    wp ;        ウインドウID
  461. int         x, y ;      参照座標
  462.  
  463.  点 ( x, y ) がウインドウ内かどうかを調べます。
  464.  ウインドウ内であれば TRUE を、ウインドウ外であれば FALSE を返します。
  465. ----------------------------------------------------------------------------
  466.  
  467.  
  468. WindowID    WindowGetParent( wp )
  469. ----------------------------------------------------------------------------
  470. WindowID    wp ;        ウインドウID
  471.  
  472.  親ウインドウを返します。
  473. ----------------------------------------------------------------------------
  474.  
  475.  
  476. WindowID    WindowGetNext( wp )
  477. ----------------------------------------------------------------------------
  478. WindowID    wp ;        ウインドウID
  479.  
  480.  重なり状態の次のウインドウを返します。ウインドウが最も奥の時は NULL を返し
  481. ます。
  482. ----------------------------------------------------------------------------
  483.  
  484.  
  485. WindowID    WindowGetLast( wp )
  486. ----------------------------------------------------------------------------
  487. WindowID    wp ;        ウインドウID
  488.  
  489.  重なり状態のひとつ前のウインドウを返します。ウインドウが最も手前にある時は
  490.  NULL を返します。
  491. ----------------------------------------------------------------------------
  492.  
  493.  
  494. WindowID    WindowGetChildTop( wp )
  495. ----------------------------------------------------------------------------
  496. WindowID    wp ;        ウインドウID
  497.  
  498.  最も手前にある子ウインドウを返します。子ウインドウがない時は NULL を返しま
  499. す。
  500. ----------------------------------------------------------------------------
  501.  
  502.  
  503. WindowID    WindowGetChildBottom( wp )
  504. ----------------------------------------------------------------------------
  505. WindowID    wp ;        ウインドウID
  506.  
  507.  最も奥にある子ウインドウを返します。子ウインドウがない時は NULL を返します。
  508. ----------------------------------------------------------------------------
  509.  
  510.  
  511. WindowID    WindowGetChild( wp, info )
  512. ----------------------------------------------------------------------------
  513. WindowID    wp ;        ウインドウID
  514. EventInfo   *info ;     イベント情報
  515.  
  516.  イベント情報を送るべき子ウインドウを、info->x, info->y  の値と子ウインドウ
  517. の重なり方を考えて探します。なかった場合は NULL を返します。
  518.  info->x, info->y  の値は見つかった子ウインドウのローカル座標に変換されます。
  519. ----------------------------------------------------------------------------
  520.  
  521.  
  522.  
  523. 1.6 その他の関数
  524.  
  525. int     WindowGetEventInfo( info )
  526. ----------------------------------------------------------------------------
  527. EventInfo   *info ;     イベント情報
  528.  
  529.  マウスとキー入力の情報を info に格納します。
  530.  マウスの移動、ボタンの変化、またはキー入力があった時は戻り値 TRUE 、なかっ
  531. た時は FALSE を返します。
  532. ----------------------------------------------------------------------------
  533.  
  534.  
  535. int     WindowCheckEventInfo( info )
  536. ----------------------------------------------------------------------------
  537. EventInfo   *info ;     イベント情報
  538.  
  539.  マウス状態の変化、またはキー入力があったかどうかチェックします。
  540.  あった時は戻り値 TRUE 、なかった時は FALSE を返します。
  541. ----------------------------------------------------------------------------
  542.  
  543.  
  544. void    WindowScreenInit()
  545. ----------------------------------------------------------------------------
  546.  画面を及びマウスをウインドウ用に初期化します。WindowScreenQuit  関数で壊れ
  547. た画面を元に戻す時に使用します。完全に戻すためには、この関数実行後すべてのウ
  548. インドウを再表示しなければなりません。
  549. ----------------------------------------------------------------------------
  550.  
  551.  
  552. void    WindowScreenQuit()
  553. ----------------------------------------------------------------------------
  554.  画面を及びマウスを通常の状態に戻します。画面を壊すようなプログラムを子プロ
  555. セスで実行したい時に使用します。
  556. ----------------------------------------------------------------------------
  557.  
  558.  
  559. char    *WindowGetVersion()
  560. ----------------------------------------------------------------------------
  561.  ウインドウサーバのバージョンを得ます。
  562.  バージョンが 1.26 なら "1.26" という文字列へのポインタを返します。
  563. ----------------------------------------------------------------------------
  564.  
  565.  
  566. void    *WindowSetSignal( entry )
  567. ----------------------------------------------------------------------------
  568. int    (*entry)();      処理ルーチン
  569.  
  570.  シグナルの処理ルーチンを設定します。
  571.  シグナル処理ルーチンのデフォルトは WLIB.A 内のルーチンになっています。この
  572. ルーチンでは KILL シグナルの処理のみ定義されています。
  573. ----------------------------------------------------------------------------
  574.  
  575.  
  576. int     WindowSendSignal( psp, code, buf )
  577. ----------------------------------------------------------------------------
  578. int    psp ;            プロセス管理ポインタ
  579. int    code ;           シグナル
  580. void   *buf ;           シグナル
  581.  
  582.  シグナルを送ります。psp はシグナルを受け取るプロセスのプロセス管理ポインタ、
  583. またはプロセスID(後述)を指定します。
  584.  code = 0xFFF9 は KILL シグナルに使用します。それ以外の code と buf は自由
  585. に使用してかまいません。
  586. ----------------------------------------------------------------------------
  587.  
  588.  
  589. int    WindowSendEventAll( id, info )
  590. ----------------------------------------------------------------------------
  591. int         id ;        プロセスID
  592. EventInfo   *info ;     イベント情報
  593.  
  594.  id の示すプロセスに属するウインドウすべてにイベントを送ります。
  595.  プロセスの終了処理で使用します。
  596. ----------------------------------------------------------------------------
  597.  
  598.  
  599. void    WindowSetPalet( p1, p3 )
  600. ----------------------------------------------------------------------------
  601. int     p1 ;            ペーパーカラー
  602. int     p3 ;            ハイライト
  603.  
  604.  ペーパーカラーとハイライトのパレット色を設定します。
  605. ----------------------------------------------------------------------------
  606.  
  607.  
  608. void    WindowSetFocus( wp )
  609. ----------------------------------------------------------------------------
  610. WindowID    wp ;        ウインドウID
  611.  
  612.  キー入力をフォーカスするウインドウを設定します。
  613.  wp を NULL にするとフォーカスを解除します。
  614. ----------------------------------------------------------------------------
  615.  
  616.  
  617. void    WindowRootScroll( x, y )
  618. ----------------------------------------------------------------------------
  619. int         x, y ;      ホームポジション
  620.  
  621.  スクロールのホームポジションを設定します。
  622. ----------------------------------------------------------------------------
  623.  
  624.  
  625. void    WindowGetRootScroll( xp, yp )
  626. ----------------------------------------------------------------------------
  627. int         *xp, *yp ;  格納バッファ
  628.  
  629.  スクロールのホームポジションを得ます。
  630. ----------------------------------------------------------------------------
  631.  
  632.  
  633. int     WindowGetGraphicMode()
  634. ----------------------------------------------------------------------------
  635.  
  636.  現在のグラフィックモードを得ます。
  637.  戻り値は WindowAttrGraphic16, WindowAttrGraphic256, WindowAttrGraphic65536
  638. のいずれかです。
  639. ----------------------------------------------------------------------------
  640.  
  641.  
  642. void    WindowSetGraphicMode( mode )
  643. ----------------------------------------------------------------------------
  644. int     mode ;          画面モード
  645.  
  646.  グラフィックモードを設定します。
  647.  mode は WindowAttrGraphic16, WindowAttrGraphic256, WindowAttrGraphic65536
  648. のいずれかです。
  649. ----------------------------------------------------------------------------
  650.  
  651.  
  652.  
  653.  
  654. 2 大域変数
  655.  
  656.  ウインドウライブラリでは次のような大域変数が存在します。
  657.  
  658. 2.1 WLIB.A で定義
  659.  
  660.   WindowID    WindowRootID            ルートウインドウのID
  661.     Sheet       *WindowBackPattern      ルートウインドウのバックパターン
  662.     int         WindowProcessID         プロセスID
  663.  
  664.    プロセスIDはウインドウサーバを使用しているプロセスに与えられる番号で0
  665.   から31までの整数です。
  666.   これらの大域変数は WLIB.H で宣言されています。
  667.  
  668.  
  669. 2.2 アプリケーションで定義
  670.  
  671.     int     WindowHeapSize ;
  672.  
  673.     ヒープサイズを指定します。ヒープを必要とする関数( malloc, fopen など )
  674.     を使用する時は指定します。この変数を宣言しない時はヒープ領域は確保されま
  675.     せん。
  676.  
  677.  
  678.  
  679.  
  680. 3 描画バッファの設定関数
  681.  
  682.  WindowDraw, WindowDrawAbs 関数における描画バッファを設定する関数です。これ
  683. らの関数は WLIB.A に定義されており、ウインドウサーバには処理はわたされません。
  684.  
  685.  
  686. void    DrawSetClear( buf, color )
  687. ----------------------------------------------------------------------------
  688. DrawBuf *buf ;      描画バッファ
  689. int     color ;     カラーコード
  690.  
  691.  カラーコード color でのクリアを設定します。
  692.  カラーコードは 0 - 3 でそれぞれ次のように設定されています。
  693.     0   黒(不透明)
  694.     1   灰色
  695.     2   黒(透明)
  696.     3   白
  697.  一般的にはカラーコード 0, 1 を使用してください。
  698.  カラーコード 2 はグラフィック画面を使用する時に必要となります。
  699. ----------------------------------------------------------------------------
  700.  
  701.  
  702. void    DrawSetLine( buf, x1, y1, x2, y2, code, option )
  703. ----------------------------------------------------------------------------
  704. DrawBuf *buf ;      描画バッファ
  705. int     x1, y1 ;    頂点座標
  706. int     x2, y2 ;    頂点座標
  707. int     color ;     カラーコード
  708. int     option ;    描画オプション
  709.  
  710.  直線を引く、矩形領域を塗りつぶす、長方形を描く、のどれかの処理を設定します。
  711.  option は OptionLine, OptionBox, OptionFill, OptionShadow のうちのどれかを
  712. 指定します。 OptionShadow は影つきの長方形です。
  713.  color は Line Box Fill  については 0 ~ 3 とその排他的論理和を設定すること
  714. ができます。排他的論理和には 0 ~ 3 の値に OptionXor を加えます。
  715.  OptionShadow  の時は Color は ShadowUp ShadowDown のどちらかで、その効果は
  716. 浮き上がって見えるか、沈んで見えるかです。
  717. ----------------------------------------------------------------------------
  718.  
  719.  
  720. void    DrawSetPut( buf, x, y, sp )
  721. ----------------------------------------------------------------------------
  722. DrawBuf *buf ;      描画バッファ
  723. int     x, y ;      表示座標
  724. Sheet   *sp ;       表示パターン
  725.  
  726.  パターンの表示を設定します。
  727. ----------------------------------------------------------------------------
  728.  
  729.  
  730. void    DrawSetSymbol( buf, x, y, str, attr, font )
  731. ----------------------------------------------------------------------------
  732. DrawBuf *buf ;      描画バッファ
  733. int     x, y ;      表示座標
  734. char    *str ;      表示文字列
  735. int     attr ;      表示属性
  736. int     font ;      フォント
  737.  
  738.  文字列の表示を設定します。
  739.  attr はカラーコード 0 ~ 3 に対応します。ハイライト及び反転文字を表示する
  740. 時はそれぞれ AttrHighLight, AttrReverse, AttrMesh とORをとります。
  741.  font は文字フォントで 12 16 24 の中から選びます。
  742.  WLIB.H に AttrDefault が定義されています。これはカラーコード 1 の反転です。
  743. ----------------------------------------------------------------------------
  744.  
  745.  
  746. void    DrawSetPattern( buf, sp )
  747. ----------------------------------------------------------------------------
  748. DrawBuf *buf ;      描画バッファ
  749. void    *sp ;       表示パターン
  750.  
  751.  パターンの表示を設定します。ウインドウよりパターンが小さい場合は繰り返し表
  752. 示されます。
  753. ----------------------------------------------------------------------------
  754.  
  755.  
  756. void    DrawSetGraphicClear( buf, code )
  757. ----------------------------------------------------------------------------
  758. DrawBuf *buf ;      描画バッファ
  759. int     color ;     カラーコード
  760.  
  761.  グラフィック画面のクリアを設定します。
  762. ----------------------------------------------------------------------------
  763.  
  764.  
  765. void    DrawSetGraphicLine( buf, x1, y1, x2, y2, code, option )
  766. ----------------------------------------------------------------------------
  767. DrawBuf *buf ;      描画バッファ
  768. int     x1, y1 ;    頂点座標
  769. int     x2, y2 ;    頂点座標
  770. int     color ;     カラーコード
  771. int     option ;    描画オプション
  772.  
  773.  グラフィック画面で直線を引く、矩形領域を塗りつぶす、長方形を描く、のどれか
  774. の処理を設定します。
  775.  option は OptionLine, OptionBox, OptionFill のうちのどれかを指定します。
  776. ----------------------------------------------------------------------------
  777.  
  778.  
  779. void    DrawSetGraphicPut( buf, x1, y1, x2, y2, gbuf )
  780. ----------------------------------------------------------------------------
  781. DrawBuf *buf ;      描画バッファ
  782. int     x1, y1 ;    頂点座標
  783. int     x2, y2 ;    頂点座標
  784. short   *gbuf ;     バッファの先頭アドレス
  785.  
  786.  グラフィックパターンの表示を設定します。
  787. ----------------------------------------------------------------------------
  788.